﻿Imports System.Data.SqlClient

Public Class frmAdeudosTradicionales
    Private cuentas As New DataTable("Nombre")
    Private AutocompletadoCuentas As New AutoCompleteStringCollection

    Private Sub frmAdeudosTradicionales_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        cuentas.PrimaryKey = Nothing
        cuentas.Clear()
        cuentas.Columns.Clear()
    End Sub
    Private Sub frmAdeudosTradicionales_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip2.Cursor = Cursors.Hand
        ToolStrip2.RenderMode = System.Windows.Forms.ToolStripRenderMode.System

        CargaNombresCuentas()
        Dim Claves(0) As DataColumn
        Claves(0) = cuentas.Columns("Nombre")
        cuentas.PrimaryKey = Claves

        For Each Descripcion In cuentas.Rows
            AutocompletadoCuentas.Add(Descripcion("Nombre"))
        Next

        CargaCuentas()
    End Sub
    Private Sub FinDeEdicion(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles dgCuentas.CellEndEdit
        'Añadir aqui las validaciones necesarias
        Try
            If dgCuentas.CurrentCell.ColumnIndex = 3 Then
                'Dim _Producto As DataRow = NombresProductos.Rows.Find(Me.dgProductos(e.ColumnIndex, e.RowIndex).Value)
                'Me.dgProductos(0, e.RowIndex).Value = _Producto("Nombre")
                dgCuentas.CurrentRow.Cells(1).Value = BuscarIntDatoContabilidad("Cuentas", "Id", "Nombre='" & dgCuentas.CurrentRow.Cells(3).Value.ToString.Trim & "'")
                dgCuentas.CurrentRow.Cells(2).Value = BuscarStrDatoContabilidad("Cuentas", "Codigo", "Nombre='" & dgCuentas.CurrentRow.Cells(3).Value.ToString.Trim & "'")

            End If
            

        Catch ex As Exception
            '.... Accion en caso de excepcion
        End Try
    End Sub
    Sub CargaNombresCuentas()
        cuentas.Columns.Add("Nombre")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = ContabilidadConnection

        Dim strSql As String = ""
        strSql = "Select Nombre "
        strSql = strSql & " From Cuentas WHERE ctamayor=1"
        strSql = strSql & " GROUP BY Nombre order by Nombre"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            cuentas.Rows.Add(rdBuscar("Nombre").ToString.Trim)
        Loop

    End Sub
    Sub CargaCuentas()
        dgCuentas.Rows.Clear()

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = "SELECT * FROM AdeudosTradicionales ORDER BY IdAdeudo"


        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            dgCuentas.Rows.Add(rdBuscar("IdAdeudo"), rdBuscar("IdCuenta"), rdBuscar("Codigo"), rdBuscar("Nombre"), rdBuscar("Tipo"))
        Loop

    End Sub
    Private Sub ControlEdicion(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles dgCuentas.EditingControlShowing
        If dgCuentas.CurrentCell.ColumnIndex = 3 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutocompletadoCuentas
        ElseIf dgCuentas.CurrentCell.ColumnIndex < 3 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = Nothing
        End If
    End Sub

    Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
        Close()

    End Sub

    Private Sub ToolStripButton10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton10.Click
        Try
            Call SetSqlCitra("DELETE FROM AdeudosTradicionales")
            Dim Adeudos As New clsAdeudosTradicionales

            For i = 0 To dgCuentas.Rows.Count - 1
                Adeudos.idAdeudo = dgCuentas.Rows(i).Cells(0).Value
                Adeudos.idcuenta = dgCuentas.Rows(i).Cells(1).Value
                Adeudos.codigo = dgCuentas.Rows(i).Cells(2).Value
                Adeudos.nombre = dgCuentas.Rows(i).Cells(3).Value
                Adeudos.Tipo = dgCuentas.Rows(i).Cells(4).Value
                Adeudos.Insertar()
            Next

        Catch ex As Exception

        End Try

        Close()
    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Call SetSqlCitra("DELETE FROM AdeudosTradicionales WHERE IdAdeudo=" & dgCuentas.CurrentRow.Cells(0).Value)
        CargaCuentas()

    End Sub
End Class